Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users. Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligent tools, enterprise reporting tools, project and resource management systems and other enterprise software systems.
Some classes of enterprise planning applications, such as planning and budgeting, for example, require a large population of users to enter data that the software then aggregates into higher level areas of responsibility in the organization. The system may perform mathematical calculations on the data, combining data submitted by one user with data submitted by another. Using the results of these calculations, the system may generate reports for review by higher management.
As enterprises become larger and more sophisticated, data accumulation and report generation can become very complex. Many levels of intermediate calculation may be required before the results are aggregated into the highest level nodes of the organization hierarchy. One conventional technique for accumulating data involves performing accumulations within a single database transaction from the leaf nodes to the top of the organizational hierarchy. This method, however, can experience high amounts of contention for data representing the higher level nodes, since the accumulation process concentrates summaries into these higher levels. Another conventional approach defers accumulations until predefined times, typically overnight or on “off hours.” During these predefined times, users are prevented from entering new data while the system accumulates the data and generates any requested reports. Overnight processing can lead to significant time delays between the collection of data and the generation of a report. In addition, there are no “off hours” for an enterprise with worldwide operations. These problems can be particularly problematic in a deadline-oriented activity like enterprise planning.